<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="jasmine-3.1.0/jasmine.css">
</head>

<body>
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script type="text/javascript" src="jasmine-3.1.0/jasmine.js"></script>
<script type="text/javascript" src="jasmine-3.1.0/jasmine-html.js"></script>
<script type="text/javascript" src="jasmine-3.1.0/boot.js"></script>
<!--<a href="#" onclick="get1()">get1请求</a>-->

<script>
//    function get1(){
//        $.getJSON("http://localhost:8080/test/get1").then(
//                function(result){
//                    console.log(result)
//                }
//        )
//    }

    jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;
    // 请求的接口前缀
    var base = "http://localhost:8080/test";
    // 测试模块
    describe("ajax跨越学习", function() {
        // 测试方法     
        it("get1请求", function(done) {
                    // 服务器返回结果         
                 var result;         
                 $.getJSON(base + "/get1").then(function(jsonObj) {
                     result = jsonObj;
                     console.log(result)        
                 });         
                    // 由于异步请求，需要使用timeout来校验         
                  setTimeout(function() {
                      expect(result).toEqual({"data" : "get1 ok"});             
                      // 校验完成     
                      done();         
                  },100);     
             });




//        // 测试方法     
//        it("jsonp请求", function(done) {
//            // 服务器返回结果         
//            var result;
//            $.ajax({
//                url:base+"/get1",
//                dataType:"jsonp",
//                success:function(json){
//                    result=json
//                }
//            });
//            // 由于异步请求，需要使用timeout来校验         
//            setTimeout(function() {
//                expect(result).toEqual({"data" : "get1 ok"});
//                // 校验完成     
//                done();
//            },100);
//        });


        it("postJson请求", function(done) {
            // 服务器返回结果         
            var result;
            $.ajax({
                url:base+"/postJson",
                type:"post",
                contentType:"application/json;charset=utf-8",
                data:JSON.stringify({name:"mengwenxing",phone:"123123123101"}),
                success:function(json){
                    result=json
                }
            });
            // 由于异步请求，需要使用timeout来校验         
            setTimeout(function() {
                expect(result).toEqual({"data" : "postJsonmengwenxing123123123101"});
                // 校验完成     
                done();
            },100);
        });




        it("getCookie请求", function(done) {
            // 服务器返回结果         
            var result;
            $.ajax({
                url:base+"/getCookie",
                type:"get",
                xhrFields:{
                  withCredentials:true
                },
                success:function(json){
                    result=json
                }
            });
            // 由于异步请求，需要使用timeout来校验         
            setTimeout(function() {
                expect(result).toEqual({"data" : "getCookiemengwenxing"});
                // 校验完成     
                done();
            },100);
        });


        it("getHeader请求", function(done) {
            // 服务器返回结果         
            var result;
            $.ajax({
                url:base+"/getHeader",
                type:"get",
                headers:{
                    "x-header1":"AAA"
                },
                beforeSend:function(xhr){
                    xhr.setRequestHeader("x-header2" ,"BBB")
                },
                success:function(json){
                    result=json
                }
            });
            // 由于异步请求，需要使用timeout来校验         
            setTimeout(function() {
                expect(result).toEqual({"data" : "getHeaderAAABBB"});
                // 校验完成     
                done();
            },100);
        });
    });

</script>
</body>
</html>